home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / comms / other / slrn / slrn_src / src / slrnfeat.h < prev    next >
C/C++ Source or Header  |  1999-05-14  |  9KB  |  286 lines

  1. #ifndef _SLRN_FEATURES_H
  2. #define _SLRN_FEATURES_H
  3. /* Note!!!
  4.  * Lines beginning with '#' characters do NOT indicate that the line is
  5.  * commented out.  C does NOT use '#' as a comment character.  In this file, 
  6.  * '1' indicates that the feature will be turned on, and '0' indicates that
  7.  * the feature will be turned off.
  8.  */
  9.  
  10. /* If you enable local SPOOL support, you must also enable NNTP support
  11.  * or INEWS support.  Also, see below for filenames regarding the location
  12.  * of the local spool and inews.  Currently only unix supports this.
  13.  * 
  14.  * NOTE: if you intend to use slrnpull, make sure you enable SPOOL_SUPPORT
  15.  *       in addition to PULL_SUPPORT.
  16.  */
  17. #define SLRN_HAS_PULL_SUPPORT    1
  18. #define SLRN_HAS_NNTP_SUPPORT    1
  19. #define SLRN_HAS_SPOOL_SUPPORT    1
  20. #define SLRN_HAS_INEWS_SUPPORT    1
  21. /* Set this to 1 to force the user to use INEWS for posting.  This also means
  22.  * that slrn will use the hardcoded inews program pathname.
  23.  */
  24. #define SLRN_FORCE_INEWS    0    
  25.  
  26. #define SLRN_HAS_SPOILERS    1
  27. #define SLRN_HAS_MIME        1
  28. #define SLRN_HAS_SORT_BY_SCORE    1
  29.  
  30. /* If non-zero, a User-Agent header will be generated instead of X-Newsreader. */
  31. #define SLRN_HAS_USER_AGENT    1
  32.  
  33. /* If non-zero '~' characters will be used at the end of an article.  This 
  34.  * is what the vi editor does. */
  35. #define SLRN_HAS_TILDE_FEATURE    1
  36.  
  37. /* If non-zero, a special message will be displayed when article is the last
  38.  * one in a thread.
  39.  */
  40. #define SLRN_HAS_END_OF_THREAD    1
  41.  
  42. /* See README.GroupLens.  This only works if SLRN_USE_SLTCP is non-zero. 
  43.  * Also make sure NNTP support is enabled.
  44.  */
  45. #define SLRN_HAS_GROUPLENS    0
  46.  
  47. /* If set to 1, slrn will cache message-ids during a session and use those
  48.  * to eliminate cross-posts.  This should not be necessary if the server 
  49.  * supports Xref in its overview database.
  50.  */
  51. #define SLRN_HAS_MSGID_CACHE    0
  52.  
  53. /* Set this to 0 if you do not want the slang interpreter made available. */
  54. #define SLRN_HAS_SLANG        1
  55.  
  56. /* Set this to 0 if you do not want slrn to generate message-id header. */
  57. #define SLRN_HAS_GEN_MSGID    1
  58.  
  59. /* If you want mapping ISO Latin <--> native character set, set this to 1.
  60.  * Supported character sets: isolatin, ibm850, and next
  61.  */
  62. #define SLRN_HAS_CHARACTER_MAP    1
  63.  
  64. /* If you want to use uudeview's uulib instead of slrn's builtin one
  65.  * change this to 1.  You will also need to edit the Makefile to point to
  66.  * the uudeview include file and and library.  Only enable this if you
  67.  * have uudeview installed on your system.
  68.  */
  69. #define SLRN_HAS_UUDEVIEW    0
  70.  
  71. /* If an article does not contain a references but it contains an In-reply-to
  72.  * header, then the In-reply-to header might serve as a references
  73.  * header. Set this to 1 to allow for that possibility.  Since this
  74.  * only works if XOVER is not used, most NNTP users will not be
  75.  * affected by it.  However, it could be a big win for slrnpull users
  76.  * who read groups that are gatewayed from a mailing list, e.g.,
  77.  * comp.os.msdos.djgpp.
  78.  */
  79. #define SLRN_HAS_FAKE_REFS    1
  80.  
  81. /* The sltcp interface is necessary for simultaneous tcp/ip connections. */
  82. #define SLRN_USE_SLTCP        1
  83.  
  84. #ifndef VMS
  85. # define SLRN_HAS_DECODE    1
  86. # define SLRN_HAS_PIPING    1
  87. #else
  88. # define SLRN_HAS_PIPING    0
  89. # define SLRN_HAS_DECODE    0
  90. #endif
  91.  
  92. /* If non-zero, an rn style lock file will be created if .newsrc is the newsrc
  93.  * file.
  94.  */
  95. #if defined(VMS) || defined(__os2__) || defined(__NT__)
  96. # define SLRN_HAS_RNLOCK    0
  97. #else
  98. # define SLRN_HAS_RNLOCK    1
  99. #endif
  100.  
  101. /* If non-zero, slrn will add From header to mail messages. */
  102. #if defined(IBMPC_SYSTEM)
  103. # define SLRN_GEN_FROM_EMAIL_HEADER 1
  104. #else
  105. # define SLRN_GEN_FROM_EMAIL_HEADER 0
  106. #endif
  107.  
  108. #define SLRN_MAX_HEADER_FORMATS 10
  109.  
  110. /* ----------------  LOCAL SPOOL and INEWS filenames and configuration ----------------------- */
  111.  
  112. #if SLRN_HAS_INEWS_SUPPORT
  113.   /* Note the -S flag.  slrn appends the signature to the file to be posted and
  114.    * the -S flag tells inews not to also do this.  The -h flag must be used.
  115.    */
  116. # define SLRN_INEWS_PROGRAM      "/usr/local/bin/inews -S -h"
  117. #endif
  118.  
  119. #if SLRN_HAS_SPOOL_SUPPORT || defined(SLRNPULL_CODE)
  120.  
  121. /* Note: Do not be confused by INN.  You do not need INN.  slrn can work with
  122.  *       CNEWS just as well.
  123.  */
  124.  
  125.   /* Root directory names */
  126. # define SLRN_SPOOL_ROOT    "/var/spool/news"
  127.   /* SLRN_NOV_ROOT gives the root directory for overview files
  128.    * if you don't have overview files, leave as SLRN_SPOOL_ROOT for now */
  129. # define SLRN_SPOOL_NOV_ROOT    SLRN_SPOOL_ROOT
  130.   /* SLRN_NOV_FILE gives filename for overview file in each directory */
  131. # define SLRN_SPOOL_NOV_FILE    ".overview"
  132.  
  133. # define SLRN_SPOOL_INNROOT    "/var/lib/news"
  134.   /* If the following filenames are relative ones, they are considered to be
  135.    * relative to SLRN_SPOOL_INNROOT.
  136.    */
  137. # define SLRN_SPOOL_ACTIVE    "data/active"
  138. # define SLRN_SPOOL_ACTIVETIMES    "data/active.times"
  139. # define SLRN_SPOOL_NEWSGROUPS    "data/newsgroups"
  140.  
  141.   /* set to 1 to allow scanning the active file for article ranges if there's
  142.    * no .overview file -- if 0 or no active file, then look at filenames in
  143.    * the spool directory instead.  0 seems best... */
  144. # define SPOOL_ACTIVE_FOR_ART_RANGE 0
  145. #endif
  146.  
  147. /* Default Startup mode.  Should slrn use spool or nntp?  What about default
  148.  * posting agent?
  149.  */
  150. #if SLRN_HAS_NNTP_SUPPORT
  151. # define SLRN_DEFAULT_SERVER_OBJ    SLRN_SERVER_ID_NNTP
  152. # define SLRN_DEFAULT_POST_OBJ        SLRN_POST_ID_NNTP
  153. #else
  154. # define SLRN_DEFAULT_SERVER_OBJ    SLRN_SERVER_ID_SPOOL
  155. # define SLRN_DEFAULT_POST_OBJ        SLRN_POST_ID_INEWS
  156. #endif
  157.  
  158. #if SLRN_HAS_INEWS_SUPPORT && SLRN_FORCE_INEWS
  159. # undef SLRN_DEFAULT_POST_OBJ
  160. # define SLRN_DEFAULT_POST_OBJ SLRN_POST_ID_INEWS
  161. #endif
  162.  
  163.  
  164.  
  165. /* ---------------- end of INEWS and LOCAL SPOOL configuration ----------- */
  166.  
  167. #ifdef VMS
  168. /* 
  169.  *                                                            VMS filenames
  170.  */
  171. # define SLRN_FAILED_POST_FILE        "slrn-failed-post.txt"
  172. # define SLRN_USER_SLRNRC_FILENAME    "slrn.rc"
  173. # define SLRN_LETTER_FILENAME        "slrn-letter.txt"
  174. # define SLRN_ARTICLE_FILENAME        "slrn-article.txt"
  175. # define SLRN_FOLLOWUP_FILENAME        "slrn-followup.txt"
  176. # define SLRN_SIGNATURE_FILE        ".signature"
  177. # ifndef SLRN_LIB_DIR
  178. #  define SLRN_LIB_DIR            "sys$manager:"
  179. # endif
  180. #else
  181. # if defined(IBMPC_SYSTEM)
  182. /*
  183.  *                                                             OS/2 filenames
  184.  */
  185. #  define SLRN_FAILED_POST_FILE        "failpost.txt"
  186. #  define SLRN_USER_SLRNRC_FILENAME    "slrn.rc"
  187. #  define SLRN_LETTER_FILENAME        "letter.txt"
  188. #  define SLRN_ARTICLE_FILENAME        "article.txt"
  189. #  define SLRN_FOLLOWUP_FILENAME    "followup.txt"
  190. #  define SLRN_SIGNATURE_FILE        "signatur.txt"
  191. #  define SLRN_SENDMAIL_COMMAND        "sendmail -t -af"
  192. #  ifndef SLRN_LIB_DIR
  193. #    define SLRN_LIB_DIR        "C:/slrn"
  194. #  endif
  195. # else
  196. #  ifdef __unix__
  197. /* 
  198.  *                                                             Unix filenames
  199.  */
  200. #   define SLRN_FAILED_POST_FILE    "slrn-failed-post.txt"
  201. #   define SLRN_USER_SLRNRC_FILENAME    ".slrnrc"
  202. #   define SLRN_LETTER_FILENAME    ".letter"
  203. #   define SLRN_ARTICLE_FILENAME    ".article"
  204. #   define SLRN_FOLLOWUP_FILENAME    ".followup"
  205. #   define SLRN_SIGNATURE_FILE        ".signature"
  206. #   define SLRN_SENDMAIL_COMMAND    "/usr/lib/sendmail -oi -t -oem -odb"
  207. #   ifndef SLRN_LIB_DIR
  208. #    define SLRN_LIB_DIR        "/usr/local/lib/slrn"
  209. #   endif
  210. #  endif                   /* unix */
  211. # endif                       /* os2 */
  212. #endif                       /* vms */
  213.  
  214. /* #define OUR_ORGANIZATION "organization-name" */
  215. /* #define OUR_HOSTNAME "host.name.here" */
  216. /* #define NNTPSERVER_NAME  "my.server.name" */
  217. /* #define NNTPSERVER_FILE        "/usr/local/lib/news/nntp_server" */
  218.  
  219. #if SLRN_HAS_GROUPLENS
  220. # undef SLRN_USE_SLTCP
  221. # define SLRN_USE_SLTCP 1
  222. #endif
  223.  
  224. /* The rest of the files apply to slrnpull. */
  225.  
  226. /* This must be set to an absolute pathname. */
  227. #define SLRNPULL_ROOT_DIR    "/var/spool/news/slrnpull"
  228.  
  229. /* The remaing variables are specified as relative names with respect to the
  230.  * SLRNPULL_ROOT_DIR.
  231.  */
  232.  
  233. /* slrnpull configuration filename. */
  234. #define SLRNPULL_CONF        "slrnpull.conf"
  235.  
  236. /* slrnpull outgoing post directory. */
  237. #define SLRNPULL_OUTGOING_DIR    "out.going"
  238.  
  239. /* If set to 1, slrn will write files to the outgoing directory with group
  240.  * write permission.  This assumes that the outgoing directory has been 
  241.  * created with the setgid bit enabled, which slrnpull will do if this is
  242.  * set t